Static random access memory (SRAM) is a type of memory that does not require refreshing, for example, as compared to dynamic random access memory. Assuming that power to the SRAM is maintained, data can be stored within the memory cells of an SRAM indefinitely.
Modern SRAMs operate at very high clock rates and have very high densities. This makes SRAMs susceptible to process variations. “Process variations” refer to the situation in which seemingly identical integrated circuits (ICs) exhibit different characteristics. Process variations occur, or are introduced, during fabrication of the IC. Process variations, as the phrase suggests, can vary from wafer to wafer, die to die, and even from device to device within the same neighborhood. These variations can affect timing of any circuitry implemented upon the wafer. For example, due to process variations, the timing characteristics of one cell of an SRAM may vary from the timing characteristics of another cell in the same SRAM, taken from the same wafer and same die.
Process variations can be classified in terms of different “process corners.” In general, a “process corner” characterizes behavior, e.g., speed, of PMOS transistors and NMOS transistors with respect to the wafer. For example, possible process corners include (fast-P, fast-N), (slow-N, fast-N), (fast-P, slow-N), and (slow-P, slow-N), where “P” represents a PMOS transistor and “N” represents an NMOS transistor. Process corners also may be denoted also as FF (fast-P, fast-N), SF (slow-N, fast-P), etc. Transistor performance also can be characterized as typical, for example, where a “typical typical” process corner is denoted as “TT.”
SRAMs often are designed with relaxed timing tolerances so that the functionality of the SRAM is not compromised in consequence of a particular processing variation. Accordingly, SRAMs typically operate at reduced speeds to account for the range of possible processing variations that may apply. In other words, the SRAM is designed with larger timing tolerances so that the SRAM will function properly despite being affected, or characterized, by a particular process corner. Loosening of tolerances can reduce overall circuit performance, but can increase yield.